The proliferation of digital information has allowed vast amounts of data to be shared very easily from almost anywhere in the world. One negative aspect of this proliferation is that often software programs (i.e., software applications) can also be disseminated quite easily. Anyone willing to connect to the Internet and access illegal copies of the applications can download these copies to any number of computers. This type of activity reduces the demand for compensated copies of the software application, and, thus, diminishes the profitability of the software. If this type of activity were allowed to run unchecked, software development businesses might be forced to stop producing the software and, in some cases, might go out of business due to the losses generated by illegal copying.
Many software companies have resorted to protecting their businesses by inserting protection schemes such as activation codes/keys and internet activation techniques. These types of protection allow the software applications to be freely disseminated, but some or all of the functions of the applications may be inhibited until the application is properly activated. Although this type of protection affords some insurance against illegal use of the software application, it can also limit a new customer from fully utilizing “trial” versions of the application software. This means that a customer who is reviewing an expensive application for utilization in their business may choose another product that has a fully functioning trial version because of the reduced amount of inconvenience it affords early on. This has led software companies to resort to other protection means that will allow their potential customers full access to their software functions. One means of accomplishing this is to keep track of the number of times the application has been “booted” or started. This allows the potential customers to fully utilize the software application without any restrictions except for the number of times the software application can be utilized before activating it.
Although tracking the number of boots solves issues with regard to providing a more attractive introduction to a software product, it can also lead to potential abuses of the product. Data associated with the booting process is often stored in areas of the user's computer that can be easily accessed. Unscrupulous users can access this information and alter it so that the software application can be utilized for an unlimited number of times. This circumvents the need for the user to register or purchase the product and equates to lost sales for the software company. In response to the altering of this application usage count data, companies have begun to hide the data in less obvious places. Although this prevented the casual user from illegally using the software, advanced computer users are still able to locate and alter the data relating to the usage of the software application.
Some software development companies also utilize an activation date scheme so that users can “try out” the full version of the software application for a given period of time. However, this type of trial management also has the same shortcomings as the counter method of usage limiting. The data associated with the activation date (i.e., date of first use) is typically stored on the user's computer as well. This allows the user access to the data, but also allows the user an opportunity to alter the data. Thus, despite advances in securing software applications, companies are still faced with the dilemma of desiring to allow fully activated trial versions of their software while protecting against unlimited usage of their products.